Mobile telephones typically perform many functions in addition to providing voice communication. Many mobile telephones, such as smart phones, and other mobile computing devices also provide additional services including the ability to communicate by text, connect to the web, watch videos, make videos, take pictures, play games, etc. The various computing devices use many types of applications to perform these different functions.
The applications operate within the operating systems of the different mobile computing devices. An operating system manages and coordinates the resources and activities of the mobile computing device and provides an interface between a user and the hardware thereof. When a user launches an application, drivers for the various devices or modules of the mobile computing device are called and used to communicate commands and data between the application and the devices.